package com.creatorblue.config.security;

import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.util.DigestUtils;

public class Md5PasswordEncoder implements PasswordEncoder{

	/**
	 * MD5加密
	 */
	@Override
	public String encode(CharSequence rawPassword) {
		//MD5加密
		String md5Password = DigestUtils.md5DigestAsHex(rawPassword.toString().getBytes());
		return md5Password;
	}

	/**
	 * 登陆认证时的密码校验
	 * @param rawPassword 前端登陆时传过来的表单中的明文密码
	 * @param encodedPassword 数据库查询出来的用户密文密码
	 */
	@Override
	public boolean matches(CharSequence rawPassword, String encodedPassword) {
		//将用户传过来的明文密码通过上面的encode方法加密后与数据库中的密码比较
		return encode(rawPassword).equals(encodedPassword);
	}

}
